package com.mmd.db;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;

import java.sql.SQLException;
import java.util.List;

import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.ResultSetHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;

import com.mmd.bean.AdminInfoBean;

/**
 * @author Administrator 进行main方法的封装
 */
public class BasicProvider {
	/**
	 * 查询操作
	 * @param sql  sql语句
	 * @param rsh   结果集接口
	 * @param params  参数列表
	 * @return 查询结果集
	 */
	public <T> T query(String sql, ResultSetHandler<T> rsh, Object... params) {
		//查询结果集
		T t=null;
		try {
			// 创建一个queryrunner类--等价于jdbc的statement查询器
			QueryRunner qr = new QueryRunner(DBCPDataSource.getDataSource(), true);// true表示支持占位符
			// 查询sql语句
			String strSql = "select * from host";
			// 进行查询操作
			t = qr.query(sql, rsh, params);
			
		} catch (Exception e) {
			// 查询操作异常
			System.out.println(" 查询操作异常:"+e.getMessage());
			e.printStackTrace();
		}
		//返回值
		return t;
	}
	
	public int  update(String sql, Object... params) {
		//查询结果集
		int  i=0;
		try {
			// 创建一个queryrunner类--等价于jdbc的statement查询器
			QueryRunner qr = new QueryRunner(DBCPDataSource.getDataSource(), true);// true表示支持占位符
			// 进行修改，新增，删除操作
			i = qr.update(sql, params);
			
		} catch (Exception e) {
			// 查询操作异常
			System.out.println(" 查询操作异常:"+e.getMessage());
			e.printStackTrace();
		}
		//返回值
		return i;
	}
}
